return Def.ActorFrame {
	Def.Sprite{
		OnCommand=cmd(shadowlength,4);
		SetCommand=function(self)
			local song = GAMESTATE:GetCurrentSong();
			if song then
				if song:HasJacket() then
					self:LoadBackground(song:GetJacketPath());
				elseif song:HasBackground() then
					self:LoadFromSongBackground(GAMESTATE:GetCurrentSong());
				else
					self:Load(THEME:GetPathG("", "Common fallback jacket"));
				end;
				self:diffusealpha(1);
				self:setsize(192,192);
			else
				self:diffusealpha(0);
			end;
		end;
	};
	LoadFont("_menus")..{
		InitCommand=cmd(x,-70;y,-83;finishtweening;draworder,1;settext,"NEW!";diffuseshift;effectcolor1,1,1,1,1;effectcolor2,1,1,1,0);
		SetCommand=function(self)
			local Song = GAMESTATE:GetCurrentSong();
			if Song then
				if PROFILEMAN:IsSongNew(Song) then
					self:visible(true);
				else
					self:visible(false);
				end
			else
				self:visible(false);
			end
		end;
	};
	CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
};